package com.zkt.subject.api;

import com.zkt.subject.common.entity.Result;
import com.zkt.subject.entity.SubjectInfoDTO;
import com.zkt.subject.entity.SubjectLabelDTO;
import com.zkt.subject.entity.SubjectUserRecordDTO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

/**
 * @author 赵开泰
 * @program jc-club
 * @date 2025/3/28
 * @description 题目相关feign服务
 **/

@FeignClient("jc-club-subject")
public interface SubjectFeignService {
	
	@GetMapping("/userLabel/getUserLabels")
	Result<List<SubjectLabelDTO>> getUserLabels(@RequestParam(value = "username", required = false) String username);
	
	@GetMapping("/label/queryLabelByIds")
	Result<List<SubjectLabelDTO>> queryLabelByIds(@RequestParam("subjectLabelIds") List<Long> subjectLabelIds);
	
	@GetMapping("/subject/querySubjectInfoByIds")
	Result<List<SubjectInfoDTO>> querySubjectInfoByIds(@RequestParam("subjectIds") List<Long> subjectIds);
	
	@GetMapping("/subject/querySubjectInfoByLabelIds")
	Result<List<SubjectInfoDTO>> querySubjectInfoByLabelIds(@RequestParam("labelIds") List<Long> labelIds);
	
	@GetMapping("/userRecord/getAllSubjectUserRecord")
	Result<List<SubjectUserRecordDTO>> getAllSubjectUserRecord(SubjectUserRecordDTO subjectUserRecordDTO);
	
}
